package com.slt.jvm.mashibing.c2_classloader;

import sun.misc.Launcher;

public class T002_ClassLoaderLevel {
    public static void main(String[] args) {
        //rt.jar bootStrap classloader 所以输出null
        System.out.println(String.class.getClassLoader());
        //sun.net.spi.nameservice.dns.DNSNameService 位于 jre/lib/ext下
        System.out.println(sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader());
        //自己写的类
        System.out.println(T002_ClassLoaderLevel.class.getClassLoader());




        //bootstrap classloader 加载rt.jar    extclassloader就位于tr.jar中   这个跟加载器的父加载器不是一个概念
        System.out.println(sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader().getClass().getClassLoader());
        //app classloader 也是被bootstrap classloader加载进来的
        System.out.println(T006_MSBClassLoader.class.getClassLoader().getClass().getClassLoader());

        //T006_MSBClassLoader 这个是自定义的类加载器 所以他的父加载器 AppClassLoade
        System.out.println(new T006_MSBClassLoader().getParent());
        System.out.println(ClassLoader.getSystemClassLoader());
    }
}
